home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d2 / sysid47.arc / SYSID.LST < prev    next >
File List  |  1989-12-17  |  35KB  |  637 lines

  1. Turbo Assembler  Version 1.0        07-31-89 08:00:00         Page 1
  2. SYSID.ASM
  3.  
  4.       1
  5.       2                                  ;--------------------------------------------------------------------
  6.       3                                  ;
  7.       4                                  ;       SYSID.ASM
  8.       5                                  ;
  9.       6                                  ;       Version 4.7
  10.       7                                  ;
  11.       8                                  ;       Two subprograms used by SYSID.PAS:
  12.       9                                  ;
  13.      10                                  ;               CPUID           - identifies host CPU and NDP (if
  14.      11                                  ;                                       any)
  15.      12                                  ;               DISKREAD        - reads absolute sectors from disk
  16.      13                                  ;
  17.      14                                  ;       Steve Grant
  18.      15                                  ;       Long Beach, CA
  19.      16                                  ;       July 31, 1989
  20.      17                                  ;
  21.      18                                  ;--------------------------------------------------------------------
  22.      19
  23.      20                                  .8086
  24.      21                                  .8087
  25.      22
  26.      23                                          public  CPUID, DISKREAD
  27.      24
  28.      25     0000                         CODE    segment byte
  29.      26
  30.      27                                  ;--------------------------------------------------------------------
  31.      28
  32.      29     0000                         CPUID   proc    near
  33.      30
  34.      31                                  assume  cs:CODE, ds:DATA, es:nothing, ss:nothing
  35.      32
  36.      33                                  ;       On entry:
  37.      34                                  ;
  38.      35                                  ;               BP
  39.      36                                  ;       SP =>   near return address
  40.      37                                  ;               offset  of a cpu_info_t record
  41.      38                                  ;               segment "  "     "        "
  42.      39                                  ;
  43.      40                                  ;       On exit, the cpu_info_t record has been filled in as follows:
  44.      41                                  ;
  45.      42                                  ;               byte    = CPU type
  46.      43                                  ;               word    = Machine Status Word
  47.      44                                  ;               6 bytes = Global Descriptor Table
  48.      45                                  ;               6 bytes = Interrupt Descriptor Table
  49.      46                                  ;               boolean = segment register change/interrupt flag
  50.      47                                  ;               boolean = 80386 multiplication bug flag
  51.      48                                  ;               byte    = NDP type
  52.      49                                  ;               word    = NDP control word
  53.      50
  54.      51           =                      mCPU    equ     byte ptr [bx]
  55.      52           =                      mMSW    equ     [bx + 1]
  56.      53           =                      mGDT    equ     [bx + 3]
  57.      54           =                      mIDT    equ     [bx + 9]
  58.      55           =                      mopsize equ     byte ptr [bx + 15]
  59.      56           =                      mchkint equ     byte ptr [bx + 16]
  60.      57           =                      mmult   equ     byte ptr [bx + 17]
  61.      58           =                      mNDP    equ     byte ptr [bx + 18]
  62.      59           =                      mNDPCW  equ     [bx + 19]
  63.      60
  64.      61           = 0000                 f8088   equ     0
  65.      62           = 0001                 f8086   equ     1
  66.      63           = 0002                 fV20    equ     2
  67.      64           = 0003                 fV30    equ     3
  68.      65           = 0004                 f80188  equ     4
  69.      66           = 0005                 f80186  equ     5
  70.      67           = 0006                 f80286  equ     6
  71.      68           = 0007                 f80386  equ     7
  72.      69           = 00FF                 funk    =       0FFH
  73.      70
  74.      71           = 0000                 false   equ     0
  75.      72           = 0001                 true    equ     1
  76. Turbo Assembler  Version 1.0        07-31-89 08:00:00         Page 2
  77. SYSID.ASM
  78.  
  79.      73
  80.      74     0000  55                             push    bp
  81.      75     0001  8B EC                          mov     bp, sp
  82.      76     0003  1E                             push    ds
  83.      77     0004  C5 5E 04                       lds     bx, [bp + 4]
  84.      78     0007  E8 000B                        call    cpu
  85.      79     000A  E8 00E6                        call    chkint
  86.      80     000D  E8 0132                        call    ndp
  87.      81     0010  1F                             pop     ds
  88.      82     0011  5D                             pop     bp
  89.      83     0012  C2 0004                        ret     4
  90.      84
  91.      85                                  ;--------------------------------------------------------------------
  92.      86
  93.      87     0015                         cpu     proc near
  94.      88
  95.      89                                  ; interrupt of multi-prefix string instruction
  96.      90
  97.      91     0015  FB                             sti
  98.      92     0016  B9 FFFF                        mov     cx, 0FFFFH
  99.      93     0019  F3> 26: AC                     rep     lods    byte ptr es : [si]
  100.      94     001C  E3 18                          jcxz    cpu_03
  101.      95
  102.      96     001E  E8 00B1                        call    piq
  103.      97     0021  83 FA 04                       cmp     dx, 4
  104.      98     0024  75 04                          jne     cpu_01
  105.      99
  106.     100     0026  C6 07 00                       mov     mCPU, f8088
  107.     101     0029  C3                             ret
  108.     102
  109.     103                                  cpu_01:
  110.     104     002A  83 FA 06                       cmp     dx, 6
  111.     105     002D  74 03                          je      cpu_02
  112.     106
  113.     107     002F  E9 009C                        jmp     cpu_12
  114.     108
  115.     109                                  cpu_02:
  116.     110     0032  C6 07 01                       mov     mCPU, f8086
  117.     111     0035  C3                             ret
  118.     112
  119.     113                                  cpu_03:
  120.     114
  121.     115                                  ; number of bits in displacement register used by shift
  122.     116
  123.     117     0036  B0 FF                          mov     al, 0FFH
  124.     118     0038  B1 20                          mov     cl, 20H
  125.     119     003A  D2 E0                          shl     al, cl
  126.     120     003C  0A C0                          or      al, al
  127.     121     003E  75 15                          jnz     cpu_05
  128.     122
  129.     123     0040  E8 008F                        call    piq
  130.     124     0043  83 FA 04                       cmp     dx, 4
  131.     125     0046  75 04                          jne     cpu_04
  132.     126
  133.     127     0048  C6 07 02                       mov     mCPU, fV20
  134.     128     004B  C3                             ret
  135.     129
  136.     130                                  cpu_04:
  137.     131     004C  83 FA 06                       cmp     dx, 6
  138.     132     004F  75 7D                          jne     cpu_12
  139.     133
  140.     134     0051  C6 07 03                       mov     mCPU, fV30
  141.     135     0054  C3                             ret
  142.     136
  143.     137                                  cpu_05:
  144.     138
  145.     139                                  ; order of write/decrement by PUSH SP
  146.     140
  147.     141     0055  54                             push    sp
  148.     142     0056  58                             pop     ax
  149.     143     0057  3B C4                          cmp     ax, sp
  150.     144     0059  74 15                          je      cpu_07
  151. Turbo Assembler  Version 1.0        07-31-89 08:00:00         Page 3
  152. SYSID.ASM
  153.  
  154.     145
  155.     146     005B  E8 0074                        call    piq
  156.     147     005E  83 FA 04                       cmp     dx, 4
  157.     148     0061  75 04                          jne     cpu_06
  158.     149
  159.     150     0063  C6 07 04                       mov     mCPU, f80188
  160.     151     0066  C3                             ret
  161.     152
  162.     153                                  cpu_06:
  163.     154     0067  83 FA 06                       cmp     dx, 6
  164.     155     006A  75 62                          jne     cpu_12
  165.     156
  166.     157     006C  C6 07 05                       mov     mCPU, f80186
  167.     158     006F  C3                             ret
  168.     159
  169.     160                                  cpu_07:
  170.     161
  171.     162                                  .286P
  172.     163
  173.     164     0070  0F 01 67 01                    smsw    mMSW
  174.     165     0074  0F 01 47 03                    sgdt    mGDT
  175.     166     0078  0F 01 4F 09                    sidt    mIDT
  176.     167
  177.     168                                  .8086
  178.     169
  179.     170                                  ; try to alter flag register bits 15-12
  180.     171
  181.     172     007C  9C                             pushf
  182.     173     007D  58                             pop     ax
  183.     174     007E  8B C8                          mov     cx, ax
  184.     175     0080  81 F1 F000                     xor     cx, 0F000H
  185.     176     0084  51                             push    cx
  186.     177     0085  9D                             popf
  187.     178     0086  9C                             pushf
  188.     179     0087  59                             pop     cx
  189.     180     0088  3B C1                          cmp     ax, cx
  190.     181     008A  75 04                          jne     cpu_08
  191.     182
  192.     183     008C  C6 07 06                       mov     mCPU, f80286
  193.     184     008F  C3                             ret
  194.     185
  195.     186                                  cpu_08:
  196.     187     0090  C6 07 07                       mov     mCPU, f80386
  197.     188     0093  9C                             pushf
  198.     189     0094  8B C4                          mov     ax, sp
  199.     190     0096  9D                             popf
  200.     191     0097  40                             inc     ax
  201.     192     0098  40                             inc     ax
  202.     193     0099  3B C4                          cmp     ax, sp
  203.     194     009B  75 06                          jnz     cpu_09
  204.     195
  205.     196     009D  C6 47 0F 00                    mov     mopsize, false
  206.     197     00A1  EB 04                          jmp     short cpu_10
  207.     198
  208.     199                                  cpu_09:
  209.     200     00A3  C6 47 0F 01                    mov     mopsize, true
  210.     201
  211.     202                                  cpu_10:
  212.     203
  213.     204                                  .386P
  214.     205
  215.     206     00A7  66| B8 0417A000                mov     eax, 0417A000H
  216.     207     00AD  66| B9 00000081                mov     ecx, 81H
  217.     208     00B3  66| F7 E1                      mul     ecx
  218.     209     00B6  66| 83 FA 02                   cmp     edx, 2
  219.     210     00BA  75 0D                          jne     short cpu_11
  220.     211
  221.     212     00BC  66| 3D 0FE7A000                cmp     eax, 0FE7A000H
  222.     213     00C2  75 05                          jne     short cpu_11
  223.     214
  224.     215     00C4  C6 47 11 01                    mov     mmult, true
  225.     216     00C8  C3                             ret
  226. Turbo Assembler  Version 1.0        07-31-89 08:00:00         Page 4
  227. SYSID.ASM
  228.  
  229.     217
  230.     218                                  cpu_11:
  231.     219     00C9  C6 47 11 00                    mov     mmult, false
  232.     220     00CD  C3                             ret
  233.     221
  234.     222                                  ; BIX ibm.at/hardware #4663
  235.     223
  236.     224                                  .8086
  237.     225
  238.     226                                  cpu_12:
  239.     227     00CE  C6 07 FF                       mov     mCPU, funk
  240.     228     00D1  C3                             ret
  241.     229
  242.     230     00D2                         cpu     endp
  243.     231
  244.     232                                  ;--------------------------------------------------------------------
  245.     233
  246.     234     00D2                         piq     proc near
  247.     235
  248.     236                                  ;       On exit:
  249.     237                                  ;
  250.     238                                  ;               DX      = length of prefetch instruction queue
  251.     239                                  ;
  252.     240                                  ;       This subroutine uses self-modifying code but can nevertheless
  253.     241                                  ;       be run repeatedly in the course of the calling program.
  254.     242
  255.     243           = 0007                 count   =       7
  256.     244           = 0042                 opincdx equ     42H                     ; inc dx opcode
  257.     245           = 0090                 opnop   equ     90H                     ; nop opcode
  258.     246
  259.     247     00D2  B0 42                          mov     al, opincdx
  260.     248     00D4  B9 0007                        mov     cx, count
  261.     249     00D7  51                             push    cx
  262.     250     00D8  0E                             push    cs
  263.     251     00D9  07                             pop     es
  264.     252     00DA  BF 00F0r                       mov     di, offset piq_01 - 1
  265.     253     00DD  57                             push    di
  266.     254     00DE  FD                             std
  267.     255     00DF  F3> AA                         rep stosb
  268.     256     00E1  B0 90                          mov     al, opnop
  269.     257     00E3  5F                             pop     di
  270.     258     00E4  59                             pop     cx
  271.     259     00E5  33 D2                          xor     dx, dx
  272.     260     00E7  FA                             cli
  273.     261     00E8  F3> AA                         rep stosb
  274.     262                                          rept    count
  275.     263                                          inc     dx
  276.     264                                          endm
  277. 1   265     00EA  42                             inc     dx
  278. 1   266     00EB  42                             inc     dx
  279. 1   267     00EC  42                             inc     dx
  280. 1   268     00ED  42                             inc     dx
  281. 1   269     00EE  42                             inc     dx
  282. 1   270     00EF  42                             inc     dx
  283. 1   271     00F0  42                             inc     dx
  284.     272
  285.     273                                  piq_01:
  286.     274     00F1  FB                             sti
  287.     275     00F2  C3                             ret
  288.     276
  289.     277     00F3                         piq     endp
  290.     278
  291.     279                                  ;--------------------------------------------------------------------
  292.     280
  293.     281     00F3                         chkint  proc near
  294.     282
  295.     283                                  ; save old INT 01H vector
  296.     284
  297.     285     00F3  53                             push    bx
  298.     286     00F4  B8 3501                        mov     ax, 3501H
  299.     287     00F7  CD 21                          int     21H
  300.     288     00F9  89 1E 0000r                    mov     old_int01_ofs, bx
  301. Turbo Assembler  Version 1.0        07-31-89 08:00:00         Page 5
  302. SYSID.ASM
  303.  
  304.     289     00FD  8C 06 0002r                    mov     old_int01_seg, es
  305.     290     0101  5B                             pop     bx
  306.     291
  307.     292                                  ; redirect INT 01H vector
  308.     293
  309.     294     0102  1E                             push    ds
  310.     295     0103  B8 2501                        mov     ax, 2501H
  311.     296     0106  BA 0000s                       mov     dx, seg new_int01
  312.     297     0109  8E DA                          mov     ds, dx
  313.     298     010B  BA 0126r                       mov     dx, offset new_int01
  314.     299     010E  CD 21                          int     21H
  315.     300     0110  1F                             pop     ds
  316.     301
  317.     302                                  ; set TF and change SS -- did we trap on following instruction?
  318.     303
  319.     304     0111  9C                             pushf
  320.     305     0112  58                             pop     ax
  321.     306     0113  80 CC 01                       or      ah, 01H                 ; set TF
  322.     307     0116  50                             push    ax
  323.     308     0117  9D                             popf
  324.     309     0118  16                             push    ss                      ; CPU may wait one
  325.     310                                                                          ; instruction before
  326.     311                                                                          ; recognizing single step
  327.     312                                                                          ; interrupt
  328.     313     0119  17                             pop     ss
  329.     314
  330.     315                                  chkint_01:                              ; shouldn't ever trap here
  331.     316
  332.     317                                  ; restore old INT 01H vector
  333.     318
  334.     319     011A  1E                             push    ds
  335.     320     011B  B8 2501                        mov     ax, 2501H
  336.     321     011E  C5 16 0000r                    lds     dx, old_int01
  337.     322     0122  CD 21                          int     21H
  338.     323     0124  1F                             pop     ds
  339.     324     0125  C3                             ret
  340.     325
  341.     326                                  ;--------------------------------------------------------------------
  342.     327
  343.     328                                  new_int01:
  344.     329
  345.     330                                  ;       INT 01H handler (single step)
  346.     331                                  ;
  347.     332                                  ;       On entry:
  348.     333                                  ;
  349.     334                                  ;       SP =>   IP
  350.     335                                  ;               CS
  351.     336                                  ;               flags
  352.     337
  353.     338     0126  FB                             sti
  354.     339     0127  58                             pop     ax                      ; IP
  355.     340     0128  3D 011Ar                       cmp     ax, offset chkint_01
  356.     341     012B  72 13                          jb      new_int01_03
  357.     342     012D  74 06                          je      new_int01_01
  358.     343     012F  C6 47 10 01                    mov     mchkint, true
  359.     344     0133  EB 04                          jmp     short new_int01_02
  360.     345
  361.     346                                  new_int01_01:
  362.     347     0135  C6 47 10 00                    mov     mchkint, false
  363.     348
  364.     349                                  new_int01_02:
  365.     350     0139  59                             pop     cx                      ; CS
  366.     351     013A  5A                             pop     dx                      ; flags
  367.     352     013B  80 E6 FE                       and     dh, 0FEH                ; turn off TF
  368.     353     013E  52                             push    dx                      ; flags
  369.     354     013F  51                             push    cx                      ; CS
  370.     355
  371.     356                                  new_int01_03:
  372.     357     0140  50                             push    ax                      ; IP
  373.     358     0141  CF                             iret
  374.     359
  375.     360     0142                         chkint  endp
  376. Turbo Assembler  Version 1.0        07-31-89 08:00:00         Page 6
  377. SYSID.ASM
  378.  
  379.     361
  380.     362                                  ;--------------------------------------------------------------------
  381.     363
  382.     364     0142                         ndp     proc near
  383.     365
  384.     366           = 0000                 fnone   equ     0
  385.     367           = 0001                 f8087   equ     1
  386.     368           = 0002                 f80287  equ     2
  387.     369           = 0003                 f80387  equ     3
  388.     370           = 00FF                 funk    =       0FFH
  389.     371
  390.     372     0142  C7 06 0004r 0000               mov     ndp_cw, 0000H
  391.     373     0148  FA                             cli
  392.     374
  393.     375                                  ; The next three 80x87 instructions cannot carry the WAIT prefix,
  394.     376                                  ; because there may not be an 80x87 for which to wait.  The WAIT is
  395.     377                                  ; therefore emulated with a MOV CX,<value>! LOOP $ combination.
  396.     378
  397.     379                                                                                  ;       CPU     NDP
  398.     380     0149  DD 36 0006r                    fnsave  ndp_save                        ;        14     221
  399.     381     014D  B9 000D                        mov     cx, (221 - 23 + 16) / 17 + 1    ;         4
  400.     382     0150  E2 FE                          loop    $                               ;   17*CX+5
  401.     383                                                                                  ;  17*CX+23
  402.     384
  403.     385     0152  DB E3                          fninit                                  ;         8       8
  404.     386     0154  B9 0001                        mov     cx, (8 - 17 + 16) / 17 + 1      ;         4
  405.     387     0157  E2 FE                          loop    $                               ;   17*CX+5
  406.     388                                                                                  ;  17*CX+17
  407.     389
  408.     390     0159  D9 3E 0004r                    fnstcw  ndp_cw                          ;        14      24
  409.     391     015D  B9 0002                        mov     cx, (24 - 23 + 16) / 17 + 1     ;         4
  410.     392     0160  E2 FE                          loop    $                               ;   17*CX+5
  411.     393                                                                                  ;  17*CX+23
  412.     394
  413.     395     0162  FB                             sti
  414.     396     0163  A1 0004r                       mov     ax, ndp_cw
  415.     397     0166  3D 0000                        cmp     ax, 0000H
  416.     398     0169  75 05                          jne     ndp_01
  417.     399
  418.     400     016B  C6 47 12 00                    mov     mNDP, fnone
  419.     401     016F  C3                             ret
  420.     402
  421.     403                                  ndp_01:
  422.     404     0170  3D 03FF                        cmp     ax, 03FFH
  423.     405     0173  75 06                          jne     ndp_02
  424.     406
  425.     407     0175  C6 47 12 01                    mov     mNDP, f8087
  426.     408     0179  EB 3C                          jmp     short ndp_04
  427.     409
  428.     410                                  ndp_02:
  429.     411     017B  3D 037F                        cmp     ax, 037FH
  430.     412     017E  75 41                          jne     ndp_05
  431.     413
  432.     414     0180  9B D9 E8                       fld1
  433.     415     0183  9B D9 EE                       fldz
  434.     416     0186  9B DE F9                       fdiv
  435.     417     0189  9B D9 E8                       fld1
  436.     418     018C  9B D9 E0                       fchs
  437.     419     018F  9B D9 EE                       fldz
  438.     420     0192  9B DE F9                       fdiv
  439.     421     0195  9B D8 D1                       fcom
  440.     422     0198  9B DD 3E 0064r                 fstsw   ndp_sw
  441.     423     019D  A1 0064r                       mov     ax, ndp_sw
  442.     424     01A0  80 E4 41                       and     ah, 41H                 ; C3, C0
  443.     425     01A3  80 FC 40                       cmp     ah, 40H                 ; ST(0) = ST(1)
  444.     426     01A6  75 06                          jne     ndp_03
  445.     427
  446.     428     01A8  C6 47 12 02                    mov     mNDP, f80287
  447.     429     01AC  EB 09                          jmp     short ndp_04
  448.     430
  449.     431                                  ndp_03:
  450.     432     01AE  80 FC 01                       cmp     ah, 01H                 ; ST(0) < ST(1)
  451. Turbo Assembler  Version 1.0        07-31-89 08:00:00         Page 7
  452. SYSID.ASM
  453.  
  454.     433     01B1  75 0E                          jne     ndp_05
  455.     434
  456.     435     01B3  C6 47 12 03                    mov     mNDP, f80387
  457.     436
  458.     437                                  ndp_04:
  459.     438     01B7  9B DD 26 0006r                 frstor  ndp_save
  460.     439     01BC  9B D9 7F 13                    fstcw   mNDPCW
  461.     440     01C0  C3                             ret
  462.     441
  463.     442                                  ndp_05:
  464.     443     01C1  C6 47 12 FF                    mov     mNDP, funk
  465.     444     01C5  C3                             ret
  466.     445
  467.     446     01C6                         ndp     endp
  468.     447
  469.     448     01C6                         CPUID   endp
  470.     449
  471.     450                                  ;--------------------------------------------------------------------
  472.     451
  473.     452     01C6                         DISKREAD        proc    near
  474.     453
  475.     454                                  assume cs : CODE, ds : nothing, es : nothing
  476.     455
  477.     456                                  ;       On entry:
  478.     457                                  ;
  479.     458                                  ;               BP
  480.     459                                  ;       SP =>   near return address
  481.     460                                  ;               offset  of disk buffer
  482.     461                                  ;               segment "   "     "
  483.     462                                  ;               number of sectors to read
  484.     463                                  ;               starting logical sector number
  485.     464                                  ;               drive number (0=A, 1=B, etc.)
  486.     465                                  ;
  487.     466                                  ;       On exit:
  488.     467                                  ;
  489.     468                                  ;               AX      = function result
  490.     469                                  ;                       00      - function successful
  491.     470                                  ;                       01..FF  - DOS INT 25H error result
  492.     471
  493.     472           =                              drive                   equ     [bp + 12]
  494.     473           =                              starting_sector         equ     [bp + 10]
  495.     474           =                              number_of_sectors       equ     [bp + 8]
  496.     475           =                              buffer                  equ     [bp + 4]
  497.     476
  498.     477     01C6  55                             push    bp
  499.     478     01C7  8B EC                          mov     bp, sp
  500.     479     01C9  8A 46 0C                       mov     al, drive
  501.     480     01CC  8B 56 0A                       mov     dx, starting_sector
  502.     481     01CF  8B 4E 08                       mov     cx, number_of_sectors
  503.     482     01D2  1E                             push    ds
  504.     483     01D3  C5 5E 04                       lds     bx, buffer
  505.     484     01D6  CD 25                          int     25H
  506.     485     01D8  44                             inc     sp                      ; fix broken stack
  507.     486     01D9  44                             inc     sp
  508.     487     01DA  1F                             pop     ds
  509.     488     01DB  72 02                          jc      diskread_01
  510.     489
  511.     490     01DD  33 C0                          xor     ax, ax
  512.     491
  513.     492                                  diskread_01:
  514.     493     01DF  5D                             pop     bp
  515.     494     01E0  C2 000A                        ret     10
  516.     495
  517.     496     01E3                         DISKREAD        endp
  518.     497
  519.     498     01E3                         CODE    ends
  520.     499
  521.     500                                  ;--------------------------------------------------------------------
  522.     501
  523.     502     0000                         DATA    segment byte
  524.     503
  525.     504                                  ; storage for CPUID
  526. Turbo Assembler  Version 1.0        07-31-89 08:00:00         Page 8
  527. SYSID.ASM
  528.  
  529.     505
  530.     506                                  ; redirected INT 01H vector
  531.     507
  532.     508                                  old_int01       label   dword
  533.     509     0000  ????                   old_int01_ofs   dw      ?
  534.     510     0002  ????                   old_int01_seg   dw      ?
  535.     511
  536.     512                                  ; storage for NDPID
  537.     513
  538.     514                                  ; 80x87 control word after initialization, status word after divide
  539.     515                                  by zero
  540.     516
  541.     517     0004  ????                   ndp_cw          dw      ?
  542.     518     0006  5E*(??)                ndp_save        db      94 dup (?)
  543.     519     0064  ????                   ndp_sw          dw      ?
  544.     520
  545.     521     0066                         DATA    ends
  546.     522
  547.     523                                          end
  548. Turbo Assembler  Version 1.0        07-31-89 08:00:00         Page 9
  549. Symbol Table
  550.  
  551.  
  552. Symbol Name         Type   Value                    Cref  defined at #
  553.  
  554. ??date              Text   "07-31-89"
  555. ??filename          Text   "SYSID   "
  556. ??time              Text   "08:00:00"
  557. ??version           Number 0100
  558. @Cpu                Text   0101H                    #20  #21  #162  #168  #204  #224
  559. @FileName           Text   SYSID
  560. @WordSize           Text   2                        #20  #21  #25  #162  #168  #204  #224  #502
  561. @curseg             Text   DATA                     #25  #502
  562. CPUID               Near   CODE:0000                23  #29
  563. DISKREAD            Near   CODE:01C6                23  #452
  564. buffer              Text   [bp + 4]                 #475  483
  565. chkint              Near   CODE:00F3                79  #281
  566. chkint_01           Near   CODE:011A                #315  340
  567. count               Number 0007                     #243  248  262
  568. cpu                 Near   CODE:0015                78  #87
  569. cpu_01              Near   CODE:002A                98  #103
  570. cpu_02              Near   CODE:0032                105  #109
  571. cpu_03              Near   CODE:0036                94  #113
  572. cpu_04              Near   CODE:004C                125  #130
  573. cpu_05              Near   CODE:0055                121  #137
  574. cpu_06              Near   CODE:0067                148  #153
  575. cpu_07              Near   CODE:0070                144  #160
  576. cpu_08              Near   CODE:0090                181  #186
  577. cpu_09              Near   CODE:00A3                194  #199
  578. cpu_10              Near   CODE:00A7                197  #202
  579. cpu_11              Near   CODE:00C9                210  213  #218
  580. cpu_12              Near   CODE:00CE                107  132  155  #226
  581. diskread_01         Near   CODE:01DF                488  #492
  582. drive               Text   [bp + 12]                #472  479
  583. f80186              Number 0005                     #66  157
  584. f80188              Number 0004                     #65  150
  585. f80286              Number 0006                     #67  183
  586. f80287              Number 0002                     #368  428
  587. f80386              Number 0007                     #68  187
  588. f80387              Number 0003                     #369  435
  589. f8086               Number 0001                     #62  110
  590. f8087               Number 0001                     #367  407
  591. f8088               Number 0000                     #61  100
  592. fV20                Number 0002                     #63  127
  593. fV30                Number 0003                     #64  134
  594. false               Number 0000                     #71  196  219  347
  595. fnone               Number 0000                     #366  400
  596. funk                Number 00FF                     #69  227  #370  443
  597. mCPU                Text   byte ptr [bx]            #51  100  110  127  134  150  157  183  187  227
  598. mGDT                Text   [bx + 3]                 #53  165
  599. mIDT                Text   [bx + 9]                 #54  166
  600. mMSW                Text   [bx + 1]                 #52  164
  601. mNDP                Text   byte ptr [bx + 18]       #58  400  407  428  435  443
  602. mNDPCW              Text   [bx + 19]                #59  439
  603. mchkint             Text   byte ptr [bx + 16]       #56  343  347
  604. mmult               Text   byte ptr [bx + 17]       #57  215  219
  605. mopsize             Text   byte ptr [bx + 15]       #55  196  200
  606. ndp                 Near   CODE:0142                80  #364
  607. ndp_01              Near   CODE:0170                398  #403
  608. ndp_02              Near   CODE:017B                405  #410
  609. ndp_03              Near   CODE:01AE                426  #431
  610. ndp_04              Near   CODE:01B7                408  429  #437
  611. ndp_05              Near   CODE:01C1                412  433  #442
  612. ndp_cw              Word   DATA:0004                372  390  396  #517
  613. ndp_save            Byte   DATA:0006                380  438  #518
  614. ndp_sw              Word   DATA:0064                422  423  #519
  615. new_int01           Near   CODE:0126                296  298  #328
  616. new_int01_01        Near   CODE:0135                342  #346
  617. new_int01_02        Near   CODE:0139                344  #349
  618. new_int01_03        Near   CODE:0140                341  #356
  619. number_of_sectors   Text   [bp + 8]                 #474  481
  620. old_int01           Dword  DATA:0000                321  #508
  621. old_int01_ofs       Word   DATA:0000                288  #509
  622. old_int01_seg       Word   DATA:0002                289  #510
  623. Turbo Assembler  Version 1.0        07-31-89 08:00:00         Page 10
  624. Symbol Table
  625.  
  626. opincdx             Number 0042                     #244  247
  627. opnop               Number 0090                     #245  256
  628. piq                 Near   CODE:00D2                96  123  146  #234
  629. piq_01              Near   CODE:00F1                252  #273
  630. starting_sector     Text   [bp + 10]                #473  480
  631. true                Number 0001                     #72  200  215  343
  632.  
  633. Groups & Segments   Bit Size Align  Combine Class   Cref  defined at #
  634.  
  635. CODE                16  01E3 Byte   none            #25  31  454
  636. DATA                16  0066 Byte   none            31  #502
  637.